Data models typically represent an abstract algorithm for storing, accessing, and representing data. In particular, data models formally define data elements and relationships among data elements for a domain of interest. Typical applications of data models include database models, design of information systems, and enabling exchange of data. One example of a data model includes a Resource Description Framework (RDF) model. The RDF model is typically used to describe and express metadata regarding web resources and/or represent and exchange (e.g., RDF-XML) semi-structured information. RDF is based on the concept that statements about resources can be made in the form of triples having a subject, a predicate, and an object. For example, an RDF concept may include a triple having a subject (e.g., Joe Simpson), a predicate (e.g., employee of), and an object (e.g., XYZ Inc.). In the RDF object model, the subject represents a resource, whereas the object of such a statement can be either a resource or a literal. This simple concept, with almost no further constraints, offers a very flexible way of modeling information and may depend heavily on what conventions individual applications use to encode and decode RDF data.
Another example of a data model is a Topic Map data model, which is used for the representation and interchange of knowledge, with an emphasis on the “findability” of information. A Topic Map represents information using topics (e.g., concepts, people, countries, organizations, files, events, etc.), associations (i.e., relationships between topics), and occurrences (e.g., information resources relevant to a particular topic). In contrast to RDF, the associations are not triples linking two entities, but rather entities in their own right. The associations represent n-nary associations that assign several involved entities to specific roles. Those roles can be topics on their own, and they can coincide with the respective types of the associated entities.
Another example of a data model is a Freebase data model. The Freebase data model is designed to cope with the fact that different users and usages require different sets of properties for the same entity. This is achieved by allowing users to define their own types and assigning an arbitrary number of types (and thus property sets) to an entity. The properties can be numbers, strings, or references to other entities. For example, “Joe Simpson” as seen through the type “person” has a property “data of birth” with a value of “Feb. 24, 1955.” However, “Steve Jobs” as seen through the type “Company Founder” has a property “Companies Founded” with the values “XYZ, Inc.” and “Omnicorp” and “ABC, Inc.”